Direct Memory Access (DMA) is a technique for transferring data from one memory segment to another memory segment without passing the data through a central processing unit. Computers that have DMA enabled channels can transfer data to and from devices much more quickly that computers that use more traditional Internet Protocol channels.
DMA technology has increasingly been incorporated into different high-speed transfer protocols and architectures. Examples of architectures that use DMA as a feature include VIRTUAL INTERFACE, and INFINIBAND. The DMA feature in such systems enable data in a memory on one device to specifically be targeted for memory on another external location, such as on another node or computer system. To gain full advantage of DMA, systems that incorporate DMA features do so with fast network connect devices.
DMA data transfers remove data bit overhead that is characteristic of the Transmission Control Protocol/Internet Protocol (TCP/IP) data transfers. TCP/IP protocol transfers use byte streams that are segmented, where each segment includes header information and other characteristics to enable that particular data segment to reach its intended target. In contrast, DMA transfers data in a memory segment without segmenting the data into individually deliverable bytes. While DMA provides a favorable contrast to TCP/IP, techniques also exist to use DMA with TCP/IP. One such technique is referred to as remote DMA (RDMA) over TCP/IP.